
/*
* Copyright 2017-2018 pinganfang
* All right reserved.
*
*/
package com.pingan.haofang.searchcloud.user.domain;

import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

/**
 * @author huhailiang937
 */
@Entity
@Table(name = "t_project")
@EntityListeners({AuditingEntityListener.class})
public class SearchProject {

    /**
     * 项目编号ID
     */
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private Long id;

    /**
     * 项目名称，最大长度64
     */
    @Column(name = "project_name")
    private String projectName;

    /**
     * 项目编码，最大长度64
     */
    @Column(name = "project_code")
    private String projectCode;


    /**
     * 状态 0：正常 1：停用
     */
    @Column(name = "status")
    private Integer status;

    /**
     * 项目简介
     */
    @Column(name = "introduction")
    private String introduction;

    /**
     * 项目负责人
     */
    @Column(name = "master_id")
    private Long masterId;

    /**
     * 邮件接收人
     */
    @Column(name = "mail_to")
    private String mailTo ;


    /**
     * 项目token
     */
    @Column(name = "token")
    private String token;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @CreatedDate
    private Date createTime;

    /**
     * 创建人
     */
    @Column(name = "create_by")
    @CreatedBy
    private Long createBy;


    /**
     * 最后修改人
     */
    @Column(name = "update_by")
    @LastModifiedBy
    private Long updateBy;

    /**
     * 项目编号ID
     *
     * @param id the value for id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 项目编号ID
     *
     * @return id the value for id
     */
    public Long getId() {
        return this.id;
    }

    /**
     * 项目名称，最大长度64
     *
     * @param projectName the value for project_name
     */
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    /**
     * 项目名称，最大长度64
     *
     * @return projectName the value for project_name
     */
    public String getProjectName() {
        return this.projectName;
    }

    /**
     * 状态 0：正常 1：停用
     *
     * @param status the value for status
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 状态 0：正常 1：停用
     *
     * @return status the value for status
     */
    public Integer getStatus() {
        return this.status;
    }

    /**
     * 项目简介
     *
     * @param introduction the value for introduction
     */
    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    /**
     * 项目简介
     *
     * @return introduction the value for introduction
     */
    public String getIntroduction() {
        return this.introduction;
    }

    /**
     * 项目负责人
     *
     * @param masterId the value for master_id
     */
    public void setMasterId(Long masterId) {
        this.masterId = masterId;
    }

    /**
     * 项目负责人
     *
     * @return masterId the value for master_id
     */
    public Long getMasterId() {
        return this.masterId;
    }


    /**
     * 创建时间
     *
     * @param createTime the value for create_time
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 创建时间
     *
     * @return createTime the value for create_time
     */
    public Date getCreateTime() {
        return this.createTime;
    }

    /**
     * 创建人
     *
     * @param createBy the value for create_by
     */
    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    /**
     * 创建人
     *
     * @return createBy the value for create_by
     */
    public Long getCreateBy() {
        return this.createBy;
    }

    /**
     * 最后修改人
     *
     * @param updateBy the value for update_by
     */
    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 最后修改人
     *
     * @return updateBy the value for update_by
     */
    public Long getUpdateBy() {
        return this.updateBy;
    }

    /**
     * @return the projectCode
     */
    public String getProjectCode() {
        return projectCode;
    }

    /**
     * @param projectCode the projectCode to set
     */
    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }


    public String getMailTo() {
        return mailTo;
    }

    public void setMailTo(String mailTo) {
        this.mailTo = mailTo;
    }

    @Override
    public String toString() {
        return "SearchProject{" +
                "id=" + id +
                ", projectName='" + projectName + '\'' +
                ", projectCode='" + projectCode + '\'' +
                ", status=" + status +
                ", introduction='" + introduction + '\'' +
                ", masterId=" + masterId +
                ", token='" + token + '\'' +
                ", createTime=" + createTime +
                ", createBy=" + createBy +
                ", updateBy=" + updateBy +
                '}';
    }
}
